// 此文件是操作home组件的vuex，然后再传递给index文件 统一处理

import Vue from "vue";
import Vuex from "vuex";

import { 
  reqCategoryListData, //三级列表页数据
  reqBannerListData,//轮播图数据
  reqFloorListData, // 底层轮播图的数据

} from "@/api";

Vue.use(Vuex);

const state = {
  categoryList: [], //三级列表页数据
  bannerList: [], //轮播图页面
  floorList: [], //底层轮播图页面
};



const actions = {
  // 获取列表页异步的程序
  async getCategoryListData(context) {
    const result = await reqCategoryListData();
    if (result.code === 200) {
      context.commit("SAVE_CATEGORY_LIST_DATA", result.data);
    } else {
      console.log(result.message);
    }
  },
  // 获取轮播图异步的程序
  async getBannerListData({commit}){
    const res=await reqBannerListData()
    if(res.code===200){
      commit('SAVE_BANNER_DATA',res.data)
    }else{
      console.log(res.message);
    }
  },
  //底部的floor
  async getFloorListData({commit}){
    const res=await reqFloorListData()
    if(res.code===200){
      commit('SAVE_FLOOR_DATA',res.data)
    }else{
      console.log(res.message);
    }
  }
};

const mutations = {
  //  渲染typeNav 列表中的数据
  SAVE_CATEGORY_LIST_DATA(state, payload) {
    state.categoryList = payload; 
  },
  //渲染banner轮播图的数据
  SAVE_BANNER_DATA(state,payload){
    state.bannerList=payload
  },
  //渲染floor轮播图的数据
  SAVE_FLOOR_DATA(state,payload){
    state.floorList=payload
  },
};

// 导出模块对象给 index（store的）

export default {
  namespaced: true, //开启模块化命名空间
  state,
  actions,
  mutations,
};
